<?php

namespace App\Http\Controllers\Admin;

use App\Http\Models\Member;
use App\Http\Models\Profession;
use App\Http\Models\Subject;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Response;

class ProfessionController extends Controller
{
    public function lst()
    {
        $size = 2;
        $professionData = Profession::paginate($size); // 获取专业信息，现在要获取 1. 学科 2. 获取任课老师的信息
        // $pro 代表每个专业数据 $index 代表索引值
        $professionData->each(function($pro, $index){
            // 不需要定义关联模型，直接的通过模型查询对应的数据信息
            $pro->subject = Subject::find($pro->type_id); // 对应的专业的学科type_id进行查询
            $pro->teachers = Member::whereIn('id', $pro->teacher_id)->get(); // teacher_id 保存的是老师的id数组 [12, 23, 24]
        });
        // 获取图片信息 自动给转换的


        return view('admin.profession.lst', compact('professionData'));

    }

    //专业数据添加
    public function add(Request $request)
    {
        // 专业数据入库
        if($request->isMethod('POST')){
            // 入库
            $data = $request->except(['_token']);// 注意：接收 abulm也是一个数组 teacher_id是一个数组，如果是直接入库，则会报错 需要在模型里面定义属性的转换规则
            $status = Profession::create($data);
            if($status){
                return Response::json([
                    'status' => 'success',
                    'code' => 1000,
                    'msg' => '专业添加成功',
                    'data' => $status,
                ]);
            }else{
                return Response::json([
                    'status' => 'failure',
                    'code' => 1002,
                    'msg' => '专业添加失败',
                ]);
            }

        }
        $subjectData = Subject::all();
        return view('admin.profession.add', compact('subjectData'));

    }

    public function teacher()
    {
        // 获取所有的任课老师
        $size = 2;
        $teacherData = Member::where('type', '=', 2)->paginate($size);
        return view('admin.profession.teacher', compact('teacherData'));
    }


}
